package com.itheima.home_work.bank_credit;

import java.time.LocalDateTime;
import com.itheima.home_work.bank_credit.Customer;

public class CreditScoringModel {

    public int calculateCreditScore(Customer customer) {
        // 根据客户的个人信息和财务数据计算信用评分
        int creditScore = 0;

        // 实现具体的评分模型算法
        //1.根据年龄加分 18-25 加10分 25-35 加20 35-45加30 45-55 加40 55以上加30
        int age = customer.getAge();
        if (age >= 18 && age < 25) {
            creditScore += 10;
        } else if (age >= 25 && age < 35) {
            creditScore += 20;
        } else if (age >= 35 && age < 45) {
            creditScore += 30;
        } else if (age >= 45 && age < 55) {
            creditScore += 40;
        } else if (age >= 55) {
            creditScore += 30;
        }

        //2.根据性别加分   男性加10分，女性不加分
        if (customer.getGender().charAt(0) == '男') {
            creditScore += 10;
        }

        //3.根据婚姻状况加分   结婚加10分，未婚不加分
        if (customer.isMaritalStatus()) {
            creditScore += 10;
        }

        //4.根据教育水平加分  本科+10分 研究生+20  博士 +30,其它不加分
        final String education = customer.getEducation();
        if (education.equals("本科")) {
            creditScore += 10;
        }
        if (education.equals("研究生")) {
            creditScore += 20;
        }
        if (education.equals("博士")) {
            creditScore += 30;
        }

        //5.根据信用卡使用年限加分  1年以上10分，3年以上20分  5年以上30分
        final LocalDateTime start = customer.getCreditCardCreateTime();
        final LocalDateTime now = LocalDateTime.now();
        if (start.plusYears(5).isAfter(now)) {
            creditScore += 30;
        } else if (start.plusYears(3).isAfter(now)) {
            creditScore += 20;
        } else if (start.plusYears(1).isAfter(now)) {
            creditScore += 10;
        }


        //6.根据负债情况加分  无负债+10分
        if (customer.getDebt() <= 0) {
            creditScore += 10;
        }


        // 返回计算得到的信用评分
        return creditScore;

    }

}
